﻿/*=====================================================================
 * Arquivo:	Logger.cs
 * 
 * Sumário: Definição da classe Logger.
 * 
 * Autor:		Siddhartha Argollo
 * 
 * Copyright (C) TecnoTRENDS. Todos os direitos reservados.
 =====================================================================*/
using System;
//using log4net;

namespace DaCredito
{
    /// <summary>
    /// Classe que implementa o acesso ao log da aplicação.
    /// </summary>
    /// <remarks>
    /// Como padrão é utilizada a biblioteca log4net para realizar
    /// o log das aplicações TFC. Para maiores detalhes, a 
    /// documentação dessa biblioteca deve ser consultada.
    /// </remarks>
    public static class Logger
    {
        public static void Log(Type atOwner)
        {
            //return LogManager.GetLogger(atOwner);
        }
        public static void Log(object aoOwner)
        {
           // return LogManager.GetLogger(aoOwner.GetType());
        }

        /// <summary>
        /// Retorna o logger para o tipo especificado.
        /// </summary>
        /// <param name="atOwner">Tipo do objeto.</param>
        /// <returns>Objeto ILog.</returns>
       /* public static ILog Log(Type atOwner)
        {
            return LogManager.GetLogger(atOwner);
        }*/

        /// <summary>
        /// Retorna o logger para o tipo especificado.
        /// </summary>
        /// <param name="asRepository">Nome do repositório.</param>
        /// <param name="atOwner">Tipo do objeto.</param>
        /// <returns>Objeto ILog.</returns>
      /*  public static ILog Log(string asRepository, Type atOwner)
        {
            return LogManager.GetLogger(asRepository, atOwner);
        }*/

        /// <summary>
        /// Retorna o logger para o objeto especificado.
        /// </summary>
        /// <param name="aoOwner">Objeto.</param>
        /// <returns>Objeto ILog.</returns>
       /* public static ILog Log(object aoOwner)
        {
            return LogManager.GetLogger(aoOwner.GetType());
        }*/

        /// <summary>
        /// Retorna o logger para o objeto especificado.
        /// </summary>
        /// <param name="asRepository">Nome do repositório.</param>
        /// <param name="aoOwner">Objeto.</param>
        /// <returns>Objeto ILog.</returns>
       /* public static ILog Log(string asRepository, object aoOwner)
        {
            return LogManager.GetLogger(asRepository, aoOwner.GetType());
        }*/

        /// <summary>
        /// Retorna o logger para o objeto especificado.
        /// </summary>
        /// <param name="asOwner">Nome do objeto.</param>
        /// <returns>Objeto ILog.</returns>
       /* public static ILog Log(string asOwner)
        {
            return LogManager.GetLogger(asOwner);
        }*/

        /// <summary>
        /// Retorna o logger para o objeto especificado.
        /// </summary>
        /// <param name="asRepository">Nome do repositório.</param>
        /// <param name="asOwner">Nome do objeto.</param>
        /// <returns>Objeto ILog.</returns>
      /*  public static ILog Log(string asRepository, string asOwner)
        {
            return LogManager.GetLogger(asRepository, asOwner);
        }*/

    } // Logger

} // Trends.TFC.Common
